package com.example.chessbattleplatform.utils;

import cn.hutool.core.io.FileUtil;
import cn.hutool.json.JSONUtil;
import com.example.chessbattleplatform.Pojo.AppConfig;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;

import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;

public class JsonFileUtils {
    /**
     * 保存JSON数据到文件
     * @param parentFolderName 上一级文件夹名称
     * @param jsonData 要保存的JSON数据
     */
    public static void saveJsonToFile(String parentFolderName, Object jsonData) {
        // 创建时间格式化的文件名
        String fileName = GetLocalDateTimeUtils.GetLocalDateTimeFoWinToStrings() + ".json";

        // 构建完整路径
        Path fullPath =Paths.get( AppConfig.JSON_FILE_UTILS_PATH + parentFolderName + "/" + fileName);
        try {
            // 确保父目录存在
            Files.createDirectories(fullPath.getParent());
            String jsonStr = JSONUtil.toJsonPrettyStr(jsonData);
            // 将JSON数据写入文件
            FileUtil.writeString(jsonStr, fullPath.toAbsolutePath().toString(), "UTF-8");

        } catch (IOException e) {
            System.out.println("创建失败"+e);
        }


    }
}
